package com.demo.jdbcdemo.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;

@Configuration
public class DataSourceConfig {

    @Bean("db01") // 另一个数据源的配置方法，同理配置其他属性。
    @ConfigurationProperties(prefix = "spring.datasource.db01") // 使用配置文件中的属性初始化数据源
    public DataSource db01DataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean("db02")  // 另一个数据源的配置方法，同理配置其他属性。
    @ConfigurationProperties(prefix = "spring.datasource.db02") // 使用配置文件中的属性初始化数据源
    public DataSource db02DataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    public JdbcTemplate getJdbcTemplate(@Autowired @Qualifier("db01") DataSource dataSource ){
        return new JdbcTemplate(dataSource);
    }
}